Generally, web servers are configured to handle transactions, such as Hypertext Transfer Protocol (“HTTP”) transactions and File Transfer Protocol (“FTP”) transactions, for accessing online content. Web servers may receive requests from one or more client computers over a computer network, such as the Internet. In response to those requests, the web servers may provide the requested websites to the client computers. For example, a user may access a web browser executing on a personal computer and enter a particular Universal Resource Locator (“URL”). The web server may then direct to the user to a particular web page corresponding to the URL. In particular, the web page may load Hypertext Markup Language (“HTML”), which may cause the web page to further load Cascading Style Sheets (“CSS”), JavaScript, and/or images.
While a web server is typically designed to handle actual transactions over a network, a web server administrator may also operate the web server in a controlled testing environment. In particular, the web server administrator may employ various web server tests in order to analyze the load and/or performance of the web server. In one example, the web server administrator may upgrade web server software running on the web server. Prior to placing the upgraded server software in operation on the network, the web server administrator may simulate a standard load of the web server against the upgraded web server software. In another example, the web server administrator may simulate additional load on the web server in order to analyze the performance and stress of the web server when handling the additional load. The web server administrator can then utilize the results of this performance and stress testing to decide whether to upgrade the web server equipment.
In order to properly simulate potential loads of the web server, the web server administrator may generate synthetic loads that mimic actual loads that the web server might handle in a real world setting. However, web server tests may utilize predefined synthetic loads that may not be applicable for every web server. Further, manually generating such synthetic loads can be unduly time-consuming and burdensome for the web server administrator.
It is with respect to these considerations and others that the disclosure made herein is presented.